This invention relates to a color reproduction technique for color images among different color image devices, such as a color scanner, a color monitor, a color printer etc. More particularly, it relates to a color matching method and apparatus required for converting an optional color in an originating color space to that of a target color space, in meeting with the chromatic adaptation state of the human visual system, as the color appearance correspondence is maintained between different color systems having different white references.
When a color image displayed on a monitor such as a cathode-ray tube (CRT) monitor for color reproduction between different color image devices is to be output to a color printer, color reproduction frequently presents a problem. In general, the correlated color temperature of the reference white, set as a default reference, in most CRT monitors, is set to approximately 9000 K. In the case of a printer, on the other hand, the color when illuminated with D50 (correlated color temperature: 5000 K), as the standard light source for color evaluation for printing, is evaluated. In short, for color reproduction between monitor and printer, the color displayed on a monitor set to the standard white of 9000 K needs to be compared to the color of the printer output illuminated with the standard light source of 5000 K. However, even insofar as only the white is concerned, the appearance of the color with the correlated color temperature of 9000 K perceived by us differs from that with the correlated color temperature of 5000 K.
For sensibly realizing this difference between the two whites, two monitors are provided, with one of them being set to a standard white with a correlated color temperature of 9000 K, with the remaining monitor being set to a standard white with a correlated color temperature of 5000 K. If the respective whites are displayed on the two monitors and compared to each other, the difference in the color appearance can be perceived easily. If, in the state where the user""s eye is completely adapted to the monitor of the standard white with the correlated color temperature of 9000 K, the user sees the white displayed on the monitor of the standard white with the correlated color temperature of 5000 K, the latter is perceived as being the yellowish color clearly different from the white. The reverse is also true, that is, if the user""s eye is completely adapted to the monitor of the standard white with the correlated color temperature of 5000 K, the user sees the white with the correlated color temperature of 9000 K as being palish (bluish) white.
However, if, in an environment that can control the ambient light, such as in a darkroom and, with a partition placed between both eyes, the monitor of 9000 K and that of 5000 K continue to be viewed with left and right eyes, respectively, the color appearance of the two whites gradually becomes similar (approach each other) due to progressive chromatic adaptation of both eyes. That is, since the color appearances of the two whites differ due to the state of our chromatic adaptation, such color conversion which takes our chromatic adaptation into account is indispensable in order to realize color coincidence between color image devices having different reference whites.
As a color conversion method, which takes the human chromatic adaptation into account, the von Kries model is well-known. This conversion method is shown in FIG. 10. According to this method, the chromatic adaptation is carried out based on the change in the RGB spectral sensitivity in the human visual system such that the RGB spectral sensitivity is upon change in illumination, changed in its sensitivity balance without changes in shape of the spectral curves so as to bring the two whites into coincidence. Assume RGB values of the illumination 1 be (R0, G0, B0), the RGB values of an object (article) in illumination 1 be (R, G, B), and RGB values of illumination 2 be (R0xe2x80x2, G0xe2x80x2, B0xe2x80x2), with RGB values of the same object under illumination 2 being (Rxe2x80x2, Gxe2x80x2, Bxe2x80x2), the tri-color sensual quantities of the visual system of the object color are expressed by: R/R0, G/G0, B/B0, Rxe2x80x2/R0xe2x80x2, Gxe2x80x2/G0xe2x80x2, Bxe2x80x2/B0xe2x80x2. In order for the color appearance of the object to be coincident under the illumination 1 and under the illumination 2, it suffices if the above-mentioned tri-color sensual quantities are coincident, as shown below:                               [                                                                      R                  /                                      R                    ⁢                    0                                                                                                                        G                  /                                      G                    ⁢                    0                                                                                                                        B                  /                                      B                    ⁢                    0                                                                                ]                =                  [                                                                                          R                    xe2x80x2                                    /                                                            R                      ⁢                      0                                        xe2x80x2                                                                                                                                            G                    xe2x80x2                                    /                                                            G                      ⁢                      0                                        xe2x80x2                                                                                                                                            B                    xe2x80x2                                    /                                                            B                      ⁢                      0                                        xe2x80x2                                                                                ]                                    (        1        )                                          [                      xe2x80x83                    ⁢                                                                      1                  /                                      R                    ⁢                    0                                                                              0                                            0                                                                    0                                                              1                  /                                      G                    ⁢                    0                                                                              0                                                                    0                                            0                                                              1                  /                                      B                    ⁢                    0                                                                                ⁢                      xe2x80x83                    ]                ⁢                  xe2x80x83                ⁢                  "AutoLeftMatch"                      xe2x80x83                    ⁢                                    [                                                                    R                                                                                                              "AutoLeftMatch"                      G                                                                                                            B                                                              ]                        =                                          [                                  xe2x80x83                                ⁢                                                                                                    1                        /                                                                              R                            ⁢                            0                                                    xe2x80x2                                                                                                            0                                                              0                                                                                                  0                                                                                      1                        /                                                                              G                            ⁢                            0                                                    xe2x80x2                                                                                                            0                                                                                                  0                                                              0                                                                                      1                        /                                                                              B                            ⁢                            0                                                    xe2x80x2                                                                                                                    ⁢                                  xe2x80x83                                ]                            ⁢                              xe2x80x83                            [                                                                                          R                      xe2x80x2                                                                                                                                  G                      xe2x80x2                                                                                                                                  B                      xe2x80x2                                                                                  ]                                                          (        2        )            
The RGB values can be obtained by linear transformation of tristimulus values X, Y, Z:                                           [                                                            R                                                                              G                                                                              B                                                      ]                    =                      M            ⁢                          xe2x80x83                        [                                                            X                                                                              Y                                                                              Z                                                      ]                          ,                  xe2x80x83                ⁢                              [                                                                                R                    xe2x80x2                                                                                                                    G                    xe2x80x2                                                                                                                    B                    xe2x80x2                                                                        ]                    =                      M            ⁢                          xe2x80x83                        [                                                                                X                    xe2x80x2                                                                                                                    Y                    xe2x80x2                                                                                                                    Z                    xe2x80x2                                                                        ]                                              (        3        )            
It is noted that R0, G0, B0, R0xe2x80x2, G0xe2x80x2, B0xe2x80x2 in the above formula (1) may be obtained by substituting tristimulus values (X0, Y0, Z0), (X0xe2x80x2, Y0xe2x80x2, Z0xe2x80x2) of the illumination 1 and the illumination 2 shown in FIG. 11 into formula (3).
In the XYZxe2x86x92CRGB transformation matrix M of formula (3), Pitt""s matrix or Estevez"" matrix may be used.
By substituting equation (3) into equation (2), the following von Kries chromatic adaptation prediction formula is obtained:                               [                                                                      X                  xe2x80x2                                                                                                      Y                  xe2x80x2                                                                                                      Z                  xe2x80x2                                                              ]                =                              M                          -              1                                ⁢                      DM            ⁢                          xe2x80x83                        [                                                            X                                                                              Y                                                                              Z                                                      ]                                              (        4        )            
In the above formula (4),                     D        =                  [                      xe2x80x83                    ⁢                                                                                          R0                    xe2x80x2                                    /                  R0                                                            0                                            0                                                                    0                                                                                  G0                    xe2x80x2                                    /                  G0                                                            0                                                                    0                                            0                                                                                  B0                    xe2x80x2                                    /                  B0                                                              ]                                    (        5        )            
It is seen from above that the color on the reproducing side corresponding to tristimulus values (X, Y, Z) of the input color on the original side in an observing booth shown in FIG. 11 can be calculated from the von Kries chromatic adaptation prediction formula (4).
Nayatani et al proposed a chromatic adaptation model combining the linear process in which the von Kries chromatic adaptation model is valid and the non-linear process in which an exponent varies responsive to the adaptation level. This chromatic adaptation model was recommended by CIE in 1986 as a chromatic adaptation prediction formula. This chromatic adaptation prediction formula is hereinafter explained.
First, tristimulus values X, Y, Z of the input color on the original side in FIG. 11 are transformed, by using Estevez"" matrix, into basic stimulus values RGB in accordance with the following formula (6):                               [                                                    R                                                                    G                                                                    B                                              ]                =                              [                          xe2x80x83                        ⁢                                                            0.40024                                                  0.70760                                                                      -                    0.08081                                                                                                                    -                    0.22639                                                                    1.16532                                                  0.04570                                                                              0.0                                                  0.0                                                  0.91822                                                      ]                    ⁢                      xe2x80x83                    [                                                    X                                                                    Y                                                                    Z                                              ]                                    (        6        )            
From the basic stimulus values RGB of the input color, basic stimulus values Rxe2x80x2, Gxe2x80x2, Bxe2x80x2 of the corresponding colors are calculated.
Rxe2x80x2=(100xcfx810xe2x80x2"xgr"xe2x80x2+1){(R+1)/(100xcfx810"xgr"+1)}Prxe2x88x921
Gxe2x80x2=(100xcfx810xe2x80x2xcex7xe2x80x2+1){(G+1)/(100xcfx810xcex7+1)}Pgxe2x88x921
Rxe2x80x2=(100xcfx810xe2x80x2xcex6xe2x80x2+1){(B+1)/(100xcfx810xcex6+1)}Pbxe2x88x921xe2x80x83xe2x80x83(7)
For the corresponding colors Rxe2x80x2, Gxe2x80x2, Bxe2x80x2, the formula (6) is inverse transformed (as shown by the following formula (8)) to calculate tristimulus values Xxe2x80x2, Yxe2x80x2, Zxe2x80x2 of the corresponding color:                               [                                                                      X                  xe2x80x2                                                                                                      Y                  xe2x80x2                                                                                                      Z                  xe2x80x2                                                              ]                =                              [                          xe2x80x83                        ⁢                                                            1.85995                                                                      -                    1.12939                                                                    0.21990                                                                              0.36119                                                  0.63881                                                  0.0                                                                              0.0                                                  0.0                                                  1.08906                                                      ]                    ⁢                      xe2x80x83                    [                                                                      R                  xe2x80x2                                                                                                      G                  xe2x80x2                                                                                                      B                  xe2x80x2                                                              ]                                    (        8        )            
In the above formula (7), xcfx81o, xcfx81oxe2x80x2 denote reflectances of the surrounding environments on the original and reproducing sides, respectively, with 0.2xe2x89xa6xcfx81oxe2x89xa60.1 and 0.2xe2x89xa6xcfx81oxe2x80x2xe2x89xa61.0, and "xgr", xcex7, xcex6 are as indicated by the following formulas:
"xgr"=(0.48105x+0.78841yxe2x88x920.08081)/y
xcex7=(xe2x88x920.27200x+1.11962y+0.04570)/y
xcex6=0.91822(1xe2x88x92xxe2x88x92y)/yxe2x80x83xe2x80x83(9)
where x, y denote chromaticity of the illumination 1. "xgr"xe2x80x2, xcex7xe2x80x2, and xcex6xe2x80x2 are calculated in a similar manner using the chromaticity of the illumination 2 in x and y.
xe2x80x83Pr=ƒ(R0)/ƒ(R0xe2x80x2)
Pg=ƒ(G0)/ƒ(G0xe2x80x2)
Pb=g(B0)/g(B0xe2x80x2)xe2x80x83xe2x80x83(10)
where functions ƒ() and g() are as follows:
ƒ(x)=(6.469+6.362x0.4495)/(6.469+x0.4495)xe2x80x83xe2x80x83(11)
g(x)=(8.414+8.091x0.5128)/(8.414+x0.5128)xe2x80x83xe2x80x83(12)
Nayatani et al improved the above-mentioned CIE1986 chromatic adaptation prediction formula in 1990 and in 1994 and, in 1995, completed a color appearance model (Nayatani model) in a publication (Y. Nayatani et al: Lightness Dependency of Chroma Scales of a Nonlinear Color-Appearance Model and its Latest Formulation, Color Res. Appl., Vol. 20, No. 3, pp. 156-167, June 1995).
Further the correction method for taking into account of incomplete chromatic adaptation state of the human visual system was added in 1996 and 1997.
Fairchild has proposed RLAB as a color appearance model. The calculating method of the present model is explained. First, basic stimulus values LMS are found from tristimulus values XYZ in the original side in accordance with the following formula (13):                               [                                                    L                                                                    M                                                                    S                                              ]                =                              [                          xe2x80x83                        ⁢                                                            0.3897                                                  0.6890                                                                      -                    0.0787                                                                                                                    -                    0.2298                                                                    1.1834                                                  0.0464                                                                              0.0                                                  0.0                                                  1.0                                                      ]                    ⁢                      xe2x80x83                    [                                                    X                                                                    Y                                                                    Z                                              ]                                    (        13        )            
A transformation matrix A for chromatic adaptation then is found. The calculating method is as follows:                     A        =                  [                      xe2x80x83                    ⁢                                                                      α                  L                                                            0                                            0                                                                    0                                                              α                  M                                                            0                                                                    0                                            0                                                              α                  S                                                              ]                                    (        14        )                                          α          L                =                                            P              L                        +                          D              ⁡                              (                                  1.0                  -                                      P                    L                                                  )                                                          L            n                                              (        15        )                                          α          M                =                                            P              M                        +                          D              ⁡                              (                                  1.0                  -                                      P                    M                                                  )                                                          M            n                                              (        16        )                                          α          S                =                                            P              S                        +                          D              ⁡                              (                                  1.0                  -                                      P                    S                                                  )                                                          S            n                                              (        17        )                                          P          L                =                              1.0            +                          Y              n                              1                /                3                                      +                          l              Z                                            1.0            +                          Y              n                              1                /                3                                      +                          1.0              /                              l                Z                                                                        (        18        )                                          P          M                =                              1.0            +                          Y              n                              1                /                3                                      +                          m              Z                                            1.0            +                          Y              n                              1                /                3                                      +                          1.0              /                              m                Z                                                                        (        19        )                                          P          S                =                              1.0            +                          Y              n                              1                /                3                                      +                          s              Z                                            1.0            +                          Y              n                              1                /                3                                      +                          1.0              /                              s                Z                                                                        (        20        )                                          l          E                =                              3.0            ⁢                          L              n                                                          L              n                        +                          M              n                        +                          S              n                                                          (        21        )                                          m          E                =                              3.0            ⁢                          M              n                                                          L              n                        +                          M              n                        +                          S              n                                                          (        22        )                                          s          E                =                              3.0            ⁢                          S              n                                                          L              n                        +                          M              n                        +                          S              n                                                          (        23        )            
The tristimulus values XYZ of the input color are transformed into corresponding stimulus values Xref, Yref and Zref under the reference observation conditions in accordance with the following formula (24):                               [                                                                      X                  ref                                                                                                      Y                  ref                                                                                                      Z                  ref                                                              ]                =                  RAM          ⁢                      xe2x80x83                    [                                                    X                                                                    Y                                                                    Z                                              ]                                    (        24        )            
In the above formulas, Yn is an absolute adaptation luminance of the illumination (cd/m2), and Ln, Mn and Sn are the basic stimulus values of the illumination. The constant D in formulas (15) to (17) is set to 1.0, 0.0 and to an intermediate value for a hard copy image, monitor display and for a slide, respectively. The constant matrix R in formula (24) is as follows:                     R        =                  [                      xe2x80x83                    ⁢                                                    1.9569                                                              -                  1.1882                                                            0.2313                                                                    0.3612                                            0.6388                                            0.0                                                                    0.0                                            0.0                                            1.0                                              ⁢                      xe2x80x83                    ]                                    (        25        )            
The RLAB values then are calculated using the reference tristimulus values Xref, Yref and Zref.
LR=100(Yref)"sgr"xe2x80x83xe2x80x83(26)
xcex1R=430[(Xref)"sgr"xe2x88x92(Yref)"sgr"]xe2x80x83xe2x80x83(27)
bR=170[(Yref)"sgr"xe2x88x92(Zref)"sgr"]xe2x80x83xe2x80x83(28)
where "sgr" assumes the following values, responsive to the observing environment:
"sgr"=1/2.3 for an average ambient environment;
"sgr"=1/2.9 for a dim ambient environment; and
"sgr"=1/3.5 for a dark ambient environment.
As for the corresponding colors Xxe2x80x2Yxe2x80x2Zxe2x80x2 under the illumination 2, reverse calculations of the formulas (26) to (28) are carried out from the RLAB values corresponding to the input color of the illumination 1 to compute the reference tristimulus values Xrefxe2x80x2, Yrefxe2x80x2 and Zrefxe2x80x2 for the illumination 2.
The corresponding colors Xxe2x80x2 Yxe2x80x2 Zxe2x80x2 in the illumination 2 can be calculated by substitution into the right side of the equation (29) which is the reverse calculation of the formula (24). It is noted however that the matrix calculated for the illumination 2 can be used as the matrix A of the formula (29).
As other color appearance models, a Hunt model by Hunt, LLAB by Luo and CIECAM97s recommended by CIE in autumn of 1997, are attracting attention as models of significance, and evaluation is underway on the color appearance models among cross media.
As for the color appearance coincidence of the color images between color image devices with different reference whites, such as between a monitor and a printer, there is a problem of color appearance to which the human chromatic adaptation as a human visual function is intricately pertinent.
Many of the currently proposed color appearance models perform modeling of various color appearance phenomena of the human color perception through a complex calculation formula. In particular, Hunt model and Nayatani model require very complicated calculations in order to represent the various color appearance phenomena. It is, however, open to doubt whether all the appearance phenomena considered in these models are really necessary in the practical utilization of color management on the computer system. That is, if the totality of appearance phenomena would be considered, the proposed chromatic adaptation models cannot be said to be practical in view of correspondingly increased computational costs.
On the other hand, the von Kries chromatic adaptation model, which changes the ratio of the spectral sensitivity on the human retina level, responsive to the illumination color, without changing its shape of spectral curves, is suited to the color management function on the computer system, because of the smaller number of parameters required for calculation and the low computing costs. However, as for the problem of color appearance between a monitor and a printer having acutely different reference whites, it is not possible with the von Kries model to realize an optimum color appearance.
There is a demand for a model which gives practically coincident color appearance of the color images and entails low computing costs in realizing the color matching of color images between different color image devices on a computer system.
In view of the above-described status of the art, it is an object of the present invention to provide a method and apparatus for color matching according to which coincidence of color appearance of color images between color image devices having significantly different reference whites can be achieved with a small computational volume taking into account the chromatic adaptation state of the human visual system.
According to a first aspect of the present invention, there is provided a color matching method for converting an optional color in an originating color space to a color in a target color space, keeping the color appearance. The method comprises the steps of:
(a) restoring spectral power distribution characteristics of an originating color space from a correlated color temperature of an originating reference white which is the reference white in said originating color space, and restoring spectral power distribution characteristics of a target (objective) color space from a correlated color temperature of a target (objective) reference white which is the reference white in the target color space;
(b) restoring, as a surface reflectance of the originating reference white, a first white surface reflectance from tristimulus values of the originating reference white, spectral power distribution characteristics of the originating color space and color matching functions of the human visual system (termed as xe2x80x9chuman color matching functionsxe2x80x9d hereinafter), and also restoring a second white surface reflectance from tristimulus values of the originating reference white, spectral power distribution characteristics (i.e., spectra) of the target color space and the human color matching functions;
(c) obtaining an adaptive white surface reflectance thorough interpolation of the first and second white surface reflectances;
(d) calculating a ratio of the first white surface reflectance to the adaptive white surface reflectance to obtain a spectral chromatic adaptation ratio;
(e) restoring a surface reflectance of the optional color in the originating color space by employing tristimulus values of the optional color, spectral power distribution characteristics of the originating color space and the human color matching functions;
(f) multiplying the surface reflectance of the optional color with the spectral chromatic adaptation ratio to obtain an adaptive surface reflectance of the optional color; and
(g) finding tristimulus values of the color in the target color space from the adaptive surface reflectance of the optional color, the spectral power distribution characteristics of the target color space and the human color matching functions.
With the color matching method of the present invention, in the step (c) of obtaining adaptation white surface reflectance from the interpolation of the first and second white surface reflectances, an incomplete chromatic adaptation coefficient is changed responsive to the state of incomplete chromatic adaptation in the human visual system, the degree of interpolation of the first and second white surface reflectances is freely changed to obtain the adaptation white surface reflectance.
The color matching method of the present invention further comprises the step of calculating an optimum incomplete chromatic adaptation coefficient from combination of the reference white of the originating color space and the reference white of the target color space, the incomplete chromatic adaptation coefficient obtained from the optimum incomplete chromatic adaptation coefficient calculating step being used.
According to a second aspect of the present invention, a color matching apparatus is configured for converting an optional color in an originating color image device to a color in a target color image device, keeping the color appearance. The color matching apparatus comprises:
(a) means for restoring spectral power distribution characteristics of an originating color space from a correlated color temperature of an originating reference white which is the reference white of the originating color image device, and restoring spectral power distribution characteristics of the target color space from a correlated color temperature of a target reference white which is the reference white of the target color image device,
(b) means for restoring, as a surface reflectance of the originating reference white, a first white surface reflectance from tristimulus values of the originating reference white, the spectral power distribution characteristics of the originating color space and human color matching functions, and also restoring a second white surface reflectance from tristimulus values of the originating reference white, spectral power distribution characteristics of the target color space and the human color matching functions,
(c) means for obtaining an adaptive white surface reflectance through interpolation of the first and second white surface reflectances,
(d) means for calculating a ratio of the first white surface reflectance to the adaptive white surface reflectance to obtain a spectral chromatic adaptation ratio,
(e) means for restoring a surface reflectance of the optional color in the originating color image device by employing tristimulus values of the optional color, spectral power distribution characteristics of the originating color space and the human color matching functions,
(f) means for multiplying the surface reflectance of the optional color with the spectral chromatic adaptation ratio to obtain an adaptive surface reflectance of the optional color,
(g) means for finding tristimulus values of the color in the target color image device from the adaptive surface reflectance of the optional color, the spectral power distribution characteristics of the target color space and the human color matching functions.
In the color matching apparatus of the present invention, an incomplete chromatic adaptation coefficient is changed in the means for obtaining adaptive white surface reflectance from the interpolation of the first and second white surface reflectances, responsive to the state of incomplete chromatic adaptation in the human visual system, so that the degree of interpolation of the first and second white surface reflectances freely changed to obtain the adaptive white surface reflectance.
The color matching apparatus of the present invention also includes means for calculating an optimum incomplete chromatic adaptation coefficient from combination of the reference white of the originating color image device and the reference white of the target color image device, the incomplete chromatic adaptation coefficient obtained from the optimum incomplete chromatic adaptation coefficient calculating means being then used.
The color matching apparatus also includes means for computing the correlated color temperature of the reference white from the chromaticity of the reference white of the color image device.